#include <Arduino.h>
#include <OneButton.h>
#include<FastLED.h>

#define LED_PIN       12     //led引脚
#define NUM_LED       12     //LED数量
#define Button_PIN    5      //按钮引脚

CRGB leds[NUM_LED];
OneButton button1(Button_PIN , true);

unsigned char flag1 = 0;

void click1()
{
   Serial.println("click");
   flag1 = flag1 + 1;
   if (flag1 == 4){ flag1 =0 ;}
}


void setup() {

  //Serial.begin(115200);
  button1.reset();//清除一下按钮状态机的状态
  button1.attachClick(click1);
  
  FastLED.addLeds<WS2812 ,LED_PIN, GRB>(leds,NUM_LED); 
}

void loop() {
      button1.tick();
      delay(10);
      if( flag1 == 1)
      {
        for(int i = 0; i < NUM_LED; i++) {    
          FastLED.setBrightness(128);// 设置亮度（可选）
          leds[i] = CRGB(177, 202, 255); // 设置LED颜色
          FastLED.show();              // 更新LED显示
      }
      }
      else if (flag1 ==2)
      {
         for(int i = 0; i < NUM_LED; i++) {
          FastLED.setBrightness(128);// 设置亮度（可选）
          leds[i] = CRGB(255, 157 , 63);// 设置LED颜色
          FastLED.show();              // 更新LED显示
      }
      }
      
      else if (flag1 ==3)
      {
         for(int i = 0; i < NUM_LED; i++) {
          FastLED.setBrightness(255);// 设置亮度（可选）
          leds[i] = CRGB(255, 255, 255);// 设置LED颜色
          FastLED.show();              // 更新LED显示
      }
      }
      
      else if (flag1 ==0)
      { 
        for(int i = 0; i < NUM_LED; i++) {
      
          FastLED.setBrightness(0);// 设置亮度（可选）
          leds[i] = CRGB(0, 0, 0);// 设置LED颜色
          FastLED.show();              // 更新LED显示
      }
}
}     

      

  










